package main.java.indi.zyj.hot100;

import java.util.*;

public class _55_wordBreak {

    public boolean wordBreak(String s, List<String> wordDict) {

        Set<String> directory = new HashSet<>(wordDict);

        boolean[] dp = new boolean[s.length() + 1];
        dp[0] = true;

        for (int i = 1; i <= s.length(); i++) {
            for (int j = 0; j < i; j++) {
                if (dp[j] && directory.contains(s.substring(j, i))) {
                    dp[i] = true;
                    break;
                }
            }
        }

        return dp[s.length()];

    }

}
